package Begin;

import java.util.concurrent.Callable;

/*
 * Description:线程的创建实验
 * 1.通过继承Thread类
 * 2.通过实现Runnable接口
 * 3.通过实现Callable接口创建
 * Author: AMark
 * Date:11/15/2023
 * Time:8:29 AM
 */
class SonThread extends Thread {
    public void run() {
        System.out.println("我是通过继承Thread创建的线程");
    }
}
class CalThread implements Callable<String> {

    @Override
    public String call() throws Exception {
        System.out.println("我是继承Callable接口生成的线程");
        return "哈哈哈哈我是Callable的返回值";
    }
}
public class ThreadCrt {
    public static void main(String[] args) throws Exception {
        //第一种创建方式，通过继承类
        SonThread ST = new SonThread();
        ST.run();
        //第二种方式，通过Runnnable接口实现,同时复习调用Lamda表达式
        ((Runnable) () -> System.out.println("我是由继承Runnable接口创建的线程")).run();
        //第三种方法，通过callable接口
        CalThread CT = new CalThread();
        System.out.println(CT.call());;

    }
}
